﻿using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Runtime.Serialization;

using SBPweb.PROvibe.Shared.Library.Layout;

namespace SBPweb.PROvibe.Server.Library.Contracts
{

    [DataContract]
    public class PageContext
    {

        #region Constructor logic

        public PageContext()
        {
        }

        public PageContext(List<Module> modules, Application app, Page page, List<Zone> zones)
        {
            this.Application = app;
            this.Page = page;
            this.Modules = modules;
            this.Zones = zones;
        }

        #endregion

        #region Properties

        [DataMember]
        public List<Module> Modules
        {
            get;
            protected set;
        }

        [DataMember]
        public Application Application
        {
            get;
            protected set;
        }

        [DataMember]
        public Page Page
        {
            get;
            protected set;
        }

        [DataMember]
        public List<Zone> Zones
        {
            get;
            protected set;
        }

        #endregion

    }

}